import { MidwayAppInfo, MidwayConfig } from '@midwayjs/core';
import { join } from 'path';

export default (appInfo: MidwayAppInfo)=>{
    const  config = { }  as MidwayConfig

  config.keys ='1666102449701_9837',
  config.koa ={
        port: 7001,
      }
      config.bodyParser= {
    enableTypes: ['json', 'form', 'text', 'xml'],
    formLimit: '100mb',
    jsonLimit: '100mb',
    textLimit: '100mb',
    xmlLimit: '100mb',
  },
  config.typeorm= {
    dataSource: {
      default: {
        type: 'mysql',
        host: '127.0.0.1',
        port: 3306,
        username: 'root',
        password: '123456',
        database: 'xs4',
      
        // 自动建表 注意：线上部署的时候不要使用，有可能导致数据丢失
        synchronize: true,
        // 打印日志
        // logging: true,

        driver: require('mysql2'),
        // 字符集
        charset: 'utf8mb4',
        // 驱动
        // driver: require('mysql2'),
        // 设置时区
        // timezone: '+8:00',
          entities: '/entity',
        // entities: [Photo], 
      }
    }
  }
  config.bull= { 
        defaultQueueOptions: {
          redis: {
            port: 6379,
            host: '127.0.0.1',
            password: '123456',
          },
        }
      }
      config.casbin={
        modelPath: join(appInfo.appDir, 'basic_model.conf'),
        policyAdapter: join(appInfo.appDir, 'basic_policy.csv'),

  } 

  
  config.redis= {
    client: {
      port: 6379, // Redis port
      host: "127.0.0.1", // Redis host
      password: "123456",
      db: 0,
    },
  }
  config.jwt= {
    secret: '@#$SASD3232.12ASDas', // fs.readFileSync('xxxxx.key')
    expiresIn: '2d', // https://github.com/vercel/ms
  },
  config.swagger={
    auth: {
      authType: 'bearer'
    },
  }

  return  config
}


// export default  {
//   // use for cookie sign key, should change to your own and keep security
//   keys: '1666102449701_9837',
//   koa: {
//     port: 7001,
//   },

//   bodyParser: {
//     enableTypes: ['json', 'form', 'text', 'xml'],
//     formLimit: '100mb',
//     jsonLimit: '100mb',
//     textLimit: '100mb',
//     xmlLimit: '100mb',
//   },

//   typeorm: {
//     dataSource: {
//       default: {
//         type: 'mysql',
//         host: '127.0.0.1',
//         port: 3306,
//         username: 'root',
//         password: 'root123',
//         database: 'xs',
      
//         // 自动建表 注意：线上部署的时候不要使用，有可能导致数据丢失
//         synchronize: true,
//         // 打印日志
//         // logging: true,

//         driver: require('mysql2'),
//         // 字符集
//         charset: 'utf8mb4',
//         // 驱动
//         // driver: require('mysql2'),
//         // 设置时区
//         // timezone: '+8:00',
//           entities: '/entity',
//         // entities: [Photo], 
//       }
//     }
//   },
//   //  定时任务的配置 依赖于 redis
//   bull: { 
//     defaultQueueOptions: {
//       redis: {
//         port: 6379,
//         host: '127.0.0.1',
//         password: 'allen',
//       },
//     }
//   },

//   casbin:{
//    modelPath: ('basic_model.conf'),
//   policyAdapter: ( 'basic_policy.csv'),

//   } ,

//   redis: {
//     client: {
//       port: 6379, // Redis port
//       host: "127.0.0.1", // Redis host
//       password: "allen",
//       db: 0,
//     },
//   },
//   jwt: {
//     secret: '@#$SASD3232.12ASDas', // fs.readFileSync('xxxxx.key')
//     expiresIn: '2d', // https://github.com/vercel/ms
//   },
//   swagger: {
//     auth: {
//       authType: 'bearer'
//     },
//   },


// } as MidwayConfig;


